
/**
 * API 接口地址集合
 */
const baseUrl = 'https://account.bjxbsj.cn/api';
export const apis = {
    /**
     * 获取产品列表
     */
    productlist: `/bjxbsj/product/list`,
     /**
     * 手机号登录发送短信验证码
     */
    logincode: `/sys/user/login/code/sms`,
  /**
     * 注册发送短信验证码
     */
    registercode: `/sys/user/register/phone`,
};

/**
 * 获取产品列表
 * @param baseUrl - 基础 URL
 * @param tileServiceName - 切片服务名称
 * @returns {Promise<LayerType[]>} - 返回一个 Promise，解析为图层配置数组
 */
// export const _getLayerConfig = async (baseUrl: string, tileServiceName: string, useEarthDSToken: boolean, earthdstoken: string) => {
//     try {
//         // 从本地存储中获取授权令牌
//         const authToken = window.localStorage.getItem('Authorization');
//         let finalUrl = baseUrl + `${apis.layerconfigfind}?tileServiceName=${tileServiceName}`;
//         // 根据标志位决定token传递方式
//         if (useEarthDSToken) {
//             // URL参数方式：直接追加token参数
//             finalUrl += `&earthdstoken=${encodeURIComponent(earthdstoken)}`;
//         }
//         const requestOptions = {
//             headers: {
//                 ...(!useEarthDSToken && authToken ? { 'Authorization': authToken } : {})
//             },
//             mode: "cors", // 用来决定是否允许跨域请求  
//         };
//         // 发送请求获取图层配置
//         // @ts-ignore
//         const res = await fetch(finalUrl, requestOptions);
//         const jsonStr = await res.text();
//         const json = JSON.parse(jsonStr) as LayerType[];
//         return json;
//     } catch (error) {
//         console.error(error);
//     }
// }

/**
 * 获取产品列表
 */
export const reqGetProductList = async (data: any) => {
    try {
        // 从本地存储中获取授权令牌
        const authToken = window.localStorage.getItem('token');
        let finalUrl = baseUrl + apis.productlist;

        const requestOptions = {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                ...(authToken ? { 'Authorization': authToken } : {})
            },
            mode: "cors", // 用来决定是否允许跨域请求  
            body: JSON.stringify(data)
        };
        // 发送请求保存图层配置
        // @ts-ignore
        const res = await fetch(finalUrl, requestOptions);
        const jsonStr = await res.text();
        const json = JSON.parse(jsonStr) as any;
        return json;
    } catch (error) {
        console.error(error);
    }
}

/**
 * 手机号登录发送短信验证码
 */
export const reqLoginCode = async (data: any) => {
    try {
        // 从本地存储中获取授权令牌
        const authToken = window.localStorage.getItem('token');
        let finalUrl = baseUrl + apis.logincode;

        const requestOptions = {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                ...(authToken ? { 'Authorization': authToken } : {})
            },
            mode: "cors", // 用来决定是否允许跨域请求  
            body: JSON.stringify(data)
        };
        // 发送请求保存图层配置
        // @ts-ignore
        const res = await fetch(finalUrl, requestOptions);
        const jsonStr = await res.text();
        const json = JSON.parse(jsonStr) as any;
        return json;
    } catch (error) {
        console.error(error);
    }
}

/**
 * 注册发送短信验证码
 */
export const reqRegisterCode = async (data: any) => {
    try {
        // 从本地存储中获取授权令牌
        const authToken = window.localStorage.getItem('token');
        let finalUrl = baseUrl + apis.registercode;

        const requestOptions = {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                ...(authToken ? { 'Authorization': authToken } : {})
            },
            mode: "cors", // 用来决定是否允许跨域请求  
            body: JSON.stringify(data)
        };
        // 发送请求保存图层配置
        // @ts-ignore
        const res = await fetch(finalUrl, requestOptions);
        const jsonStr = await res.text();
        const json = JSON.parse(jsonStr) as any;
        return json;
    } catch (error) {
        console.error(error);
    }
}
